1. Field of the Invention
The present invention relates to videoconferencing over packet switched networks and more particularly to reducing data loss in such networks.
2. Description of the Prior Art
Traditionally, videoconference applications transport compressed audio and video data streams over nearly lossless circuit switched networks such as POTS and ISDN phone lines. These networks typically have low error rates with less than a 10−5% probability of a bit error. Packet switched networks, on the other hand, often have much higher error rates.
FIG. 1 illustrates one type of loss that occurs in packet switched networks when packets are transferred from a high bandwidth network 100 to a low bandwidth network 110 through a router 120. Specifically, packet loss 130 is directly related to an amount by which an incoming bit rate on the high bandwidth network 100 exceeds a maximum outgoing bit rate 200 (FIG. 2A) on the low bandwidth network 110.
FIG. 2A illustrates a plot of regular traffic bit rate 210 passing through the router 120 (FIG. 1) over time. As long as the plot of regular traffic bit rate 210 never exceeds a maximum outgoing bit rate 200 of the low bandwidth network 110 (FIG. 1), a packet loss rate may be zero (i.e., packet loss 130 (FIG. 1) may be zero). Note that packet loss can occur for reasons other than just over subscription of bandwidth. However, as shown in FIG. 2B, when the router 120 receives a combination of regular traffic data and videoconferencing data via the high bandwidth network 100 (FIG. 1), a plot of combination traffic bit rate 230 exceeds the maximum outgoing bit rate 200. Thus the packet loss 130 is non-zero and the packet loss rate is greater than zero.
Packet loss of videoconferencing data has a negative impact on both audio and video portions of a videoconference. When packet loss is frequent, the audio portion may become laden with intermittent gaps of silence, and the video portion may exhibit a wide range of undesirable effects, including video freeze frame. Although, a loss of 5% to 15% of transmitted audio data can sometimes be tolerated (e.g., cell phone calls), a loss of as little as 1% of transmitted video data can make the video portion of the videoconference difficult to comprehend.
FIG. 3 illustrates four streams of data (320, 330, 340, 350) that typically are transported during a videoconference. Specifically, each endpoint 310 of a videoconference system (not shown) sends an outgoing audio stream 320 and an outgoing video stream 330 and receives an incoming audio stream 340 and an incoming video stream 350. Streams 320, 330, 340 and 350 are generally transmitted as separate Real Time Protocol (RTP) sessions, and are controlled separately, thus allowing certain participants in the videoconference to send or receive less than all the streams 320, 330, 340 and 350. Therefore, a participant may, for example, elect to receive only the incoming video stream 350 without the associated incoming audio stream 340 during the videoconference, or may elect to prevent the outgoing video stream 330 from being transmitted.
Associated with the RTP sessions, a Real Time Control Protocol (RTCP) monitors quality-of-service and conveys information about videoconferencing endpoints, such as the endpoint 310, during the videoconference. RTCP is based on a periodic endpoint transmission of control packets to all participants in the videoconference. As illustrated in FIG. 4, each audio stream 320 and 340 has an associated RTCP stream 420 and 440, respectively, and each video stream 330 and 350 has an associated RTCP stream 430 and 450, respectively. Approximately every 5 seconds, the endpoint 310 sends a Receiver Report (RR) RTCP packet and a Sender Report (SR) RTCP packet. Furthermore, SR packets include transmission and reception statistics from videoconference participants that are active senders, while RR packets include reception statistics from participants that are not active senders. Statistical information in the SR and RR packets includes a cumulative number of packets lost, a fraction of RTP data packets lost since a previous SR or RR packet was sent, and inter-arrival jitter.
While the RTP sessions provide endpoint-to-endpoint network transport functions suitable for applications transmitting real-time streams, such as audio and video streams, RTP sessions do not guarantee a quality-of-service for these streams. Therefore, there is a need in the art for dynamic bandwidth allocation in packet switched networks.